package employee_evaluation

type OvertimeLeaveRecord struct {
	Day         int `json:"day" default:"0"`
	Hour        int `json:"hour" default:"0"`
	Minute      int `json:"minute" default:"0"`
	EmployeeNum int `json:"employee_num" default:"0"`
}

type OvertimeLeaveInsert struct {
	LeaveType     string `json:"leave_type" binding:"omitempty,oneof=sick personal annual marriage maternity bereavement"`
	StartDate     string `json:"start_time" binding:"required"`
	EndDate      string `json:"end_time" binding:"required"`
	Reason        string `json:"reason" binding:"required"`
	ApproverID    int    `json:"approver_id" binding:"required"`
	RejectionNote string `json:"rejection_note" binding:"omitempty"`
	Day           int    `json:"day" default:"0"`
	Hour          int    `json:"hour" default:"0"`
	Minute        int    `json:"minute" default:"0"`
	Type          string `json:"type"`
	Status        string `json:"status"`
	EmployeeID    int    `json:"employee_id"`
	PositionID    int    `json:"position_id"`
	DepartmentID  int    `json:"department_id"`
	Phone         string `json:"phone"`
}

type OvertimeLeaveUpdate struct {
	ID            int    `json:"id" binding:"required"`
	LeaveType     string `json:"leave_type" binding:"omitempty,oneof=sick personal annual marriage maternity bereavement"`
	StartDate     string `json:"start_time" binding:"required"`
	EndDate      string `json:"end_time" binding:"required"`
	Reason        string `json:"reason" binding:"required"`
	ApproverID    int    `json:"approver_id" binding:"required"`
	RejectionNote string `json:"rejection_note" binding:"omitempty"`
	Day           int    `json:"day" default:"0"`
	Hour          int    `json:"hour" default:"0"`
	Minute        int    `json:"minute" default:"0"`
	Type          string `json:"type"`
	Status        string `json:"status"`
	EmployeeID    int    `json:"employee_id"`
	PositionID    int    `json:"position_id"`
	DepartmentID  int    `json:"department_id"`
	Phone         string `json:"phone"`
}
